package models

import (
	"GoWeb/001_bubble/dao"
)

// Todo Model
type Todo struct {
	ID     int    `json:"id"`
	Title  string `json:"title"`
	Status bool   `json:"status"`
}

func CreateATodo(todo *Todo) error {
	err := dao.DB.Create(todo).Error
	return err

}

func GetTodoList() (todoList []*Todo, err error) {
	if err = dao.DB.Find(&todoList).Error; err != nil {
		return nil, err
	}
	return todoList, nil
}

func GetATodo(id string) (*Todo, error) {
	todo := &Todo{}
	if err := dao.DB.Where("id=?", id).First(&todo).Error; err != nil {
		panic(err)
		return nil, err
	}
	return todo, nil
}

func UpdateATodo(todo *Todo) error {
	err := dao.DB.Save(todo).Error
	return err
}

func DeleteATodo(id string) error {
	err := dao.DB.Where("id=?", id).Delete(&Todo{}).Error
	return err

}
